API Documentation
Classes | Public Member Functions | List of all members
nkWinUi::ToolBar Class Referenceabstract

A ToolBar in which items can be added to offer different capabilities. More...

Inheritance diagram for nkWinUi::ToolBar:
nkWinUi::Component nkExport::Exportable

Classes

class  Item
 Represents an item within a ToolBar. More...
 

Public Member Functions

 ToolBar (MainSystem *parentSystem)
 
 ~ToolBar ()
 
virtual ItemgetItem (unsigned int index) const =0
 
virtual unsigned int getItemCount () const =0
 
virtual ItemaddItem (const nkMemory::StringView &label, const std::function< void()> &callback)=0
 
virtual void clearItems ()=0
 
virtual void recomputeSizeToFitItems ()=0
 
- Public Member Functions inherited from nkWinUi::Component
 Component (MainSystem *parentSystem)
 
virtual ~Component ()
 
LayoutgetLayout () const
 
ThemegetTheme () const
 
nkMaths::Point getPositionInParent () const
 
nkMaths::Point getPositionInScreen () const
 
int getWidth () const
 
int getHeight () const
 
nkMaths::Rectangle getAreaInParent () const
 
nkMaths::Rectangle getAreaInScreen () const
 
virtual nkMaths::Point getBorderExtents () const
 
virtual float getBorderExtent (BORDER_KIND border) const
 
virtual int getLayoutAllowedWidth () const
 
virtual int getLayoutAllowedHeight () const
 
virtual int getLayoutAllowedOffsetX () const
 
virtual int getLayoutAllowedOffsetY () const
 
bool isInitialized () const
 
ComponentgetParentComponent () const
 
COMPONENT_TYPE getComponentType () const
 
nkMemory::StringView getComponentName () const
 
bool getVisibility () const
 
virtual nkMemory::StringView getLabel () const
 
void * getData () const
 
bool isEnabled () const
 
bool isForegroundWindow () const
 
unsigned int getZDepth () const
 
bool getVisibleOnLoad () const
 
std::function< bool(Component *)> getCloseCallback () const
 
std::function< void(Component *, bool)> getVisibilityCallback () const
 
std::function< void(Component *, const ClickEventData &)> getClickCallback () const
 
std::function< void(Component *, const WheelEventData &)> getWheelCallback () const
 
std::function< void(Component *, const KeyEventData &)> getKeyCallback () const
 
virtual LayoutsetLayout (LAYOUT_TYPE layoutType)
 
virtual void setTheme (Theme *theme)
 
virtual void setPositionInParent (nkMaths::Point position)
 
virtual void setPositionInScreen (nkMaths::Point position)
 
virtual void setSize (int width, int height)
 
virtual void setWidth (int width)
 
virtual void setHeight (int height)
 
void setMinSize (unsigned int width, unsigned int height)
 
void setMaxSize (unsigned int width, unsigned int height)
 
void setRatio (float widthOverHeight)
 
virtual void setAreaInParent (const nkMaths::Rectangle &area)
 
virtual void setAreaInScreen (const nkMaths::Rectangle &area)
 
virtual void setParentComponent (Component *parent, bool makeItVisible=true)
 
virtual void setLabel (const nkMemory::StringView &label)
 
void setComponentName (const nkMemory::StringView &name)
 
virtual void setVisibility (bool value)
 
void setData (void *data)
 
void setEnabled (bool value)
 
void setVisibleOnLoad (bool value)
 
void setCloseCallback (std::function< bool(Component *caller)> callback)
 
void setVisibilityCallback (std::function< void(Component *caller, bool visibility)> callback)
 
void setClickCallback (std::function< void(Component *caller, const ClickEventData &eventData)> callback)
 
void setWheelCallback (std::function< void(Component *caller, const WheelEventData &eventData)> callback)
 
void setKeyCallback (std::function< void(Component *caller, const KeyEventData &eventData)> callback)
 
void addChild (Component *child, bool makeItVisible=true)
 
void removeChild (Component *child)
 
void removeChild (unsigned int index)
 
ComponentgetChild (unsigned int index)
 
unsigned int getChildIndex (Component *child)
 
void unloadWithChildren ()
 
void loadWithChildren ()
 
void updateZDepth ()
 
void bringToForeground ()
 
void focusWindow ()
 
nkMaths::Point getCoordRelativeFromAbsolute (const nkMaths::Point &absCoords)
 
nkMaths::Point getCoordAbsoluteFromRelative (const nkMaths::Point &relCoords)
 
virtual void load ()=0
 
virtual void unload ()=0
 
void reload ()
 
virtual void updateWindow ()
 
nkImages::Image paintToImage (bool withFrame=false)
 
void simulateEvent (const InputDescriptor &inputDescription)
 
void onSized ()
 
virtual void exportClassToTree (nkExport::Node *rootNode) override
 
virtual void exportIntrospection (nkExport::Node *rootNode)
 
virtual void importClassFromTree (nkExport::Node *rootNode) override
 
- Public Member Functions inherited from nkExport::Exportable
 Exportable ()
 
virtual ~Exportable ()
 

Detailed Description

A ToolBar in which items can be added to offer different capabilities.

Currently, a ToolBar can offer text items, that behave like buttons or that will make customizable ContextMenu pop for more interaction options.

Constructor & Destructor Documentation

◆ ToolBar()

nkWinUi::ToolBar::ToolBar ( MainSystem parentSystem)

Default constructor.

Parameters
parentSystemThe parent system in which the component will live.
Remarks
See ComponentManager::createOrRetrieve().

◆ ~ToolBar()

nkWinUi::ToolBar::~ToolBar ( )

Destructor.

Member Function Documentation

◆ getItem()

virtual Item* nkWinUi::ToolBar::getItem ( unsigned int  index) const
pure virtual
Parameters
indexThe index of the item to get.
Returns
The item at given index if any, nullptr else.

◆ getItemCount()

virtual unsigned int nkWinUi::ToolBar::getItemCount ( ) const
pure virtual
Returns
The number of items active in the tool bar.

◆ addItem()

virtual Item* nkWinUi::ToolBar::addItem ( const nkMemory::StringView label,
const std::function< void()> &  callback 
)
pure virtual

Adds an item to the tool bar.

Parameters
labelThe label of the item to add.
callbackThe callback of the item to call when it is clicked. Can be nullptr if only the context menu is needed.
Returns
The item freshly created, ready to be manipulated.
Remarks
Items are placed in the ToolBar in the order they are added through this function.

◆ clearItems()

virtual void nkWinUi::ToolBar::clearItems ( )
pure virtual

Clears all items from the ToolBar, making it start fresh.

◆ recomputeSizeToFitItems()

virtual void nkWinUi::ToolBar::recomputeSizeToFitItems ( )
pure virtual

Recompute the size of the component to tightly fit the items it contains. This will take into account all text and margins required, both in width and height.


The documentation for this class was generated from the following file: